草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

c++ - 如果我无法承受抛出异常时的低性能,我可以使用 STL 吗?

例如,我正在编写一个实时处理和流式传输音频的多线程时间关键型应用程序。音频中断是完全不能接受的。这是否意味着我不能使用STL,因为抛出异常时速度可能会变慢? 最佳答案 通常,如果new失败,STL容器自己抛出的唯一异常是std::bad_alloc。唯一的其他时间是用户代码(例如构造函数、赋值、复制构造函数)抛出。如果您的用户代码从不抛出异常,那么您只需要防止新的异常抛出,这很可能是您无论如何都必须做的。其他可以抛出异常的东西:-如果您越界访问at()函数,它们可能会抛出std::out_of_range。无论如何,这是一个严重的程

Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/Datatype

报错:ERRORc.j.f.w.e.GlobalExceptionHandler-[handleException,83]-Handlerdispatchfailed;nestedexceptionisjava.lang.NoClassDefFoundError:javax/xml/bind/DatatypeConverterorg.springframework.web.util.NestedServletException:Handlerdispatchfailed;nestedexceptionisjava.lang.NoClassDefFoundError:javax/xml/bind

c++ - 调用 get() 后 std::future 仍然有效(抛出异常)

根据cppreference,在调用std::future::get之后:valid()isfalseafteracalltothismethod.此外,来自cplusplus.com:Oncethesharedstateisready,thefunctionunblocksandreturns(orthrows)releasingitssharedstate.Thismakesthefutureobjectnolongervalid:thismemberfunctionshallbecalledonceatmostforeveryfuturesharedstate.在异常安全下:Th

c++ - 当新表达式的参数子表达式抛出时释放内存

动态分析在我们的代码库中发现了奇怪的内存泄漏。有问题的代码如下所示:Something*p=newSomething(getArgument());函数getArgument()有时会抛出异常。当它抛出时,新分配的对象被泄露。这是由VisualStudio2015(MSC++19.0)编译的。现在,当我检查规范(C++14finaldraft)时,§5.3.4/8奇怪地说:Anew-expressionmayobtainstoragefortheobjectbycallinganallocationfunction(3.7.4.1).Ifthenew-expressiontermina

c++ - 为什么在析构函数中抛出异常时不调用重载删除?

我编写了以下代码,它重载了new和delete运算符并在析构函数中抛出异常。当抛出异常时,为什么delete操作符中的代码没有执行(并打印出“bye”)?如果不应该执行,(如何)释放内存?是oneoftheotherdeleteoperators叫什么?重载其中之一会导致执行相应的代码吗?还是内stub本没有被释放,因为破坏失败意味着它可能不应该被释放?#includeusingnamespacestd;classA{public:A(){}~A()noexcept(false){throwexception();}void*operatornew(std::size_tcount){

c++ - 我可以从遗留 C 回调中抛出 C++ 异常吗?

我的C++代码使用了一些C库。C库采用C语言回调。我在我的C++代码中写了一个回调,现在我需要以某种方式报告它的错误(但它返回无效)。我想知道是否可以从C++代码中使用的C回调中抛出异常?这对我来说很难理解。谢谢,BodaCydo。 最佳答案 是的,你应该能够这样做。但是,请记住C库很可能不是为异常安全而编写的,因此您可能会使该库的某些结构处于某种不一致的状态。这完全取决于特定的库和特定的回调函数。如果不出意外,该库可能必须从一开始就考虑到该回调的C++支持。 关于c++-我可以从遗留C

c++ - std::regex 构造函数抛出异常

请注意,这不是StackOverflow上有关gcc的许多问题的重复,我使用的是VisualStudio2013。这个正则表达式的简单构造会抛出std::regex_error:boolcaseInsensitive=true;charpattern[]="\\bword\\b";std::regexre(pattern,std::regex_constants::ECMAScript|(caseInsensitive?std::regex_constants::icase:0));what在异常对象上返回的实际错误是不一致的。通常它是不匹配的括号或括号。为什么?

c++ - 如果我使用 "throw;"无异常抛出会发生什么?

这是设置。我有一个调用多个函数的C++程序,所有这些函数都可能抛出相同的异常集,并且我希望每个函数中的异常具有相同的行为(例如,对于异常A,打印错误消息并将所有数据重置为默认值;对于异常B,只需打印;对于所有其他异常,则完全关闭)。似乎我应该能够设置捕获行为来调用一个私有(private)函数,它只是重新抛出错误并执行捕获,如下所示:voidaFunction(){try{/*dosomestuffthatmightthrow*/}catch(...){handle();}}voidbFunction(){try{/*dosomestuffthatmightthrow*/}catch(

c++ - 不抛出或异常?

我是一名学生,我对C++了解不多,我会尝试扩展它。这更像是一个哲学问题。我并不是要实现某些东西。自#include//...T*t=new(std::nothrow)T();if(t){//...}//...会隐藏Exception,既然处理Exceptions比简单的if(t)要重,为什么不考虑正常的newT()不太好的做法,考虑到我们将不得不使用try-catch()来检查一个简单的分配是否成功(如果我们不成功,就看着程序死掉)?与使用nothrownew相比,正常的new分配有什么好处(如果有的话)?在那种情况下异常的开销是微不足道的?此外,假设分配失败(例如,系统中不存在内存)

c++ - 在堆损坏的情况下可以新抛出吗?

在堆损坏的情况下,new可以抛出吗?如果我理解正确,在堆损坏的情况下,所有的赌注都没有了,任何事情都可能发生。这是正确的吗? 最佳答案 是的,如果堆被损坏,任何事情都可能发生。抛出异常是可能的,但不太可能。更有可能的是它会开始破坏内存;如果你幸运,你只会得到一个GPF/Segmentation错误。如果您不走运,您的程序将继续在损坏的堆上运行。 关于c++-在堆损坏的情况下可以新抛出吗?,我们在StackOverflow上找到一个类似的问题: https://